home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993…ch: Other People's Memory / ADC Developer CD (1993-03) (''Other People's Memory'')_iso / Dev.CD Mar 93.iso / Development Platforms / Apple II / Essentials / Technical.Notes / IIGS / TN.IIGS.072 < prev    next >
Encoding:
Text File  |  1992-07-15  |  3.7 KB  |  84 lines  |  [TEXT/GEOL]

  1. Apple II
  2. Technical Notes
  3. _____________________________________________________________________________
  4.                                                   Developer Technical Support
  5. Apple IIgs
  6. #72: QuickDraw II Quirks
  7.  
  8. Revised by: Dave Lyons                                               May 1992
  9. Written by: Dave Lyons & C. K. Haun <TR>                        November 1989
  10.  
  11. This Technical Note points out some things things you need to watch out for
  12. when using QuickDraw II, especially with FastPort-aware and Shadowing modes.
  13.  
  14. CHANGES SINCE NOVEMBER 1990:  Removed some obsolete information on ScrollRect
  15. and on shadowing.  Noted that DrawPicture in 6.0 is now compatible with
  16. FastPort mode.  Added a warning about making QuickDraw II calls while
  17. QuickDraw II is not started.
  18. _____________________________________________________________________________
  19.  
  20.  
  21. DON'T CALL QUICKDRAW II WHILE IT'S INACTIVE
  22.  
  23. Most QuickDraw II functions behave unpredictably if you call them while
  24. QuickDraw II is inactive, so watch it!  Don't make QuickDraw II calls while
  25. QuickDraw II isn't started, except as documented.  GrafOn and GrafOff are
  26. okay.  (And so are QDStartUp, QDVersion, and QDStatus.)
  27.  
  28.  
  29. FASTPORT-AWARE ANOMALY
  30.  
  31. Before System 6.0, when the FastPort-aware bit is turned on in the MasterSCB
  32. parameter to QDStartUp, DrawPicture did not notice changes in the pen pattern.
  33. If your application does not require 6.0 and uses pictures, either directly or
  34. indirectly (i.e., by printing to the ImageWriter driver), you may need to
  35. leave FastPort-aware mode turned off to get the expected behavior.
  36.  
  37.  
  38. FASTFONT AND LARGE PIXEL MAPS
  39.  
  40. FastFont does not work correctly when drawing past the first 64K of a pixel
  41. map.  If you are drawing text that uses FastFont (i.e., Shaston 8), you can
  42. avoid this problem by using a non-rectangular clipRgn.
  43.  
  44.  
  45. DON'T SHOWPEN WHILE COLLECTING POLYGONS, REGIONS, OR PICTURES
  46.  
  47. The Macintosh QuickDraw documentation permits calling ShowPen after an
  48. OpenPoly, OpenRgn, or OpenPicture call to cause drawing calls to contribute to
  49. a polygon, region, or picture AND draw to a pixel map at the same time.
  50.  
  51. The Apple IIgs QuickDraw II documentation does not say you can do that.  In
  52. some cases, it works, but it works "by accident" and it's not one of the
  53. things Apple tests or guarantees in QuickDraw II.
  54.  
  55.  
  56. YOU MAY NEED SETBUFDIMS!
  57.  
  58. The call description for SetBufDims on page 16-215 of Volume 2 of theToolbox
  59. Reference is misleading.  The note in the description states, "You only need
  60. to make this call if your application is going to use, or allow the user to
  61. choose, fonts that have unusually large values of chExtra and spExtra."  This
  62. is not true; you need to call SetBufDims to adjust the clipping buffers for
  63. your application if you plan to use a clipRgn that has a greater width than
  64. the width you passed at QDStartUp.
  65.  
  66. SetBufDims sets the clipping buffer width as well as that of the text buffer,
  67. so if you plan to use a clipping region larger than the startup port width you
  68. must use SetBufDims.
  69.  
  70. Be aware that this call may be necessary even if your application does not
  71. ever set a clipping region or rectangle.  Some toolbox calls assume that the
  72. clipping buffer size is correct based on the parameters passed to that
  73. routine.  For example, if the locInfo you pass to CopyPixels has a width
  74. parameter that is wider than the width you passed at QDStartUp, CopyPixels may
  75. fail.  A safe rule of thumb is to make sure (possibly by setting) that the
  76. width parameter in the buffer dimensions is the same or greater than the
  77. widest width in the locInfo structures passed to routines that use them.
  78.  
  79.  
  80. Further Reference
  81. _____________________________________________________________________________
  82.  
  83.    o   Apple IIgs Toolbox Reference, Volumes 1 and 3
  84.